import Vue from "vue";

import Cookies from "js-cookie";

import "normalize.css/normalize.css"; // a modern alternative to CSS resets

import Element from "element-ui";
import "./styles/element-variables.scss";

import "@/styles/index.scss"; // global css

import App from "./App";
import store from "./store";
import router from "./router";

import i18n from "./lang"; // internationalization
import "./icons"; // icon
import "./permission"; // permission control
import "./utils/error-log"; // error log

import * as filters from "./filters"; // global filters

//导入封装信息确认提示框组件脚本
import myconfirm from "@/utils/myconfirm";
Vue.prototype.$myconfirm = myconfirm;

//导入清空表单工具
import resetForm from "@/utils/resetForm";
Vue.prototype.$resetForm = resetForm;

//导入表单数据回显脚本
import objCopy from "@/utils/objCopy";
Vue.prototype.$objCopy = objCopy;

//导入按钮权限判断
import hasPermission from '@/permission/index'
Vue.prototype.hasPermission = hasPermission;

import echarts from 'echarts'
Vue.prototype.$echarts = echarts //挂载到Vue实例上面

/*// 注释原有的mock数据
if (process.env.NODE_ENV === 'production') {
  const { mockXHR } = require('../mock')
  mockXHR()
}*/

Vue.use(Element, {
  size: Cookies.get("size") || "medium", // set element-ui default size
  i18n: (key, value) => i18n.t(key, value),
});

// register global utility filters
Object.keys(filters).forEach((key) => {
  Vue.filter(key, filters[key]);
});

Vue.config.productionTip = false;

new Vue({
  el: "#app",
  router,
  store,
  i18n,
  render: (h) => h(App),
});
